package router

import (
	Login "go-mgdms/internal/admin/handlers"
	"go-mgdms/internal/common/middleware"
	commonRoutes "go-mgdms/internal/common/routes"

	"github.com/gin-gonic/gin"
	"gorm.io/gorm"
)

// RegisterAdminRoutes 注册后台路由
func RegisterAdminRoutes(r *gin.Engine, db *gorm.DB) {
	// 应用CORS中间件到全局
	r.Use(middleware.CORS())

	// 静态资源配置
	r.Static("/static", "public/static")
	// r.Static("/assets", "public/assets")
	// r.Static("/js", "public/js")
	// r.Static("/css", "public/css")

	// API路由组
	api := r.Group("/api")

	// 复用通用路由
	common := api.Group("/common")
	commonRoutes.RegisterCommonRoutes(common, db)

	// 创建admin路由组
	admin := r.Group("/admin")

	// 创建控制器实例
	Login := &Login.LoginHandlers{}

	// 注册路由
	admin.GET("/Index/login", func(c *gin.Context) {
		Login.Login(c)
	})

	// SPA支持 - 处理前端路由
	// r.NoRoute(func(c *gin.Context) {
	//     path := c.Request.URL.Path
	//     if !strings.HasPrefix(path, "/admin/") && // 不处理API路径
	//        !strings.HasPrefix(path, "/static/") && // 不处理静态资源
	//        !strings.Contains(path, ".") { // 不处理带扩展名的请求
	//         c.File("public/index.html")
	//     }
	// })
}
